package com.innjia.sys.service;

import java.util.Date;

/**
 * 文件保管
 *
 * @author innjia
 * @email innjia@innjia.com
 * @date 2017-11-15 15:08:23
 */
public interface FileService {

    /**
     * 保存文件
     *
     * @param limitDate
     *         有效期(可以为空,则永不失效)
     * @param bytes
     *         (文件流)
     * @return 文件唯一标识ID
     */
    String saveFile(Date limitDate, byte[] bytes, String levelPath);

    /**
     * 指定保存文件类型
     * @param limitDate
     * @param bytes
     * @param levelPath
     * @param type
     * @return
     * String
     */
    public String saveFileWithType(Date limitDate, byte[] bytes, String levelPath, String type);
    
    /**
     * 获取文件
     *
     * @param fileId
     * @return
     */
    byte[] getFile(String fileId);

    /**
     * 删除指定文件
     *
     * @param fileId
     */
    void deleteFile(String fileId);

    //保存base64编码的文件
    String saveBase64File(Date limitDate, String base64Str, String levelPath, String type);
}
